[C] Swap Coding
Programa que fiz para ajudar em um tópico no fórum da comunidade.
Descrição que levou ao programa em:
http://vivaolinux.com.br/topico/C-C++/string-1/
"...Programa que pede uma string e codifica-a numa nova
string tirando os caracteres do principio e do fim sucessivamente, começando
pela esquerda. Pára quando chegar ao meio da string..."
Descrição que levou ao programa em:
http://vivaolinux.com.br/topico/C-C++/string-1/
"...Programa que pede uma string e codifica-a numa nova
string tirando os caracteres do principio e do fim sucessivamente, começando
pela esquerda. Pára quando chegar ao meio da string..."
Descrição
Programa que fiz para ajudar em um tópico no fórum da comunidade.
Descrição que levou ao programa em:
http://vivaolinux.com.br/topico/C-C++/string-1/
"...Programa que pede uma string e codifica-a numa nova
string tirando os caracteres do principio e do fim sucessivamente, começando
pela esquerda. Pára quando chegar ao meio da string..."
Descrição que levou ao programa em:
http://vivaolinux.com.br/topico/C-C++/string-1/
"...Programa que pede uma string e codifica-a numa nova
string tirando os caracteres do principio e do fim sucessivamente, começando
pela esquerda. Pára quando chegar ao meio da string..."
Versões atualizadas deste script
// swapcoding.c
#include <stdio.h>
#include <stdlib.h>
// o proximo define faz com que a limpeza do buffer funcione no em *nix e windows!
#ifndef WIN32
#define fflush __fpurge
#endif
/*
* argc, argv -> argumentos que podem ser usados para entrada
* pela linha de comando no Linux/Unix
*/
int main (int argc, char*argv[])
{
char str[512]; // entrada de dados
char aux[512]; // string invertida
register int i,j; // contadores
// permite entrada de dados até que o usuário digite 'exitme'
while(1)
{
// query!
printf ("Input : "); fflush(stdin); scanf("%[^\n]", str);
// saida do loop
if( !strcmp(str,"exitme")) break;
/*
* i -> referencia na string original
* j -> referencia na string codificada
*/
for ( i = 0, j=0; i < (strlen(str))/2; i++,j+=2 ) {
aux[j] = str[strlen(str)-i -1];
aux[j+1] = str[i];
}
// letra do meio se for impar!
if ( strlen(str)%2)
aux[strlen(str)-1] = str[strlen(str)/2];
// ultimo caractere
aux[strlen(str)] = 0x0;
// print it!
printf( "Output: %s\n\n", aux);
}
// bye-bye
return 0;
}
Han?!
Então tá....